package ww;

public class J23_CompareObject {

	// 객체 비교하기
	// "내 차 색깔과 당신 차 색깔이 똑같다"
	// "내 차 색과 당신 차가 똑같다" (상태,색상,종류등)
	// 클래스의 객체는 실제 데이터가 저장된 주소를
	// 가지고 있기 때문에 단순비교 ==로 
	// 객체가 서로 같은지 알수 없음
	// 자바에서는 기본적으로 객체를 비교할떄에는
	// equals, hashCode 메서드르 이용함
	// 또한, 유틸리티 클래스 Comparable, Comparator 등을 이용하기도 함
	
	// 참고로, String 객체를 비교할떄에는
	// equals 메서드를 이용해서 비교해야 함
	
	public static void main(String[] args) {
		CarVo mycar = new CarVo("새것","빨강","스포츠카");
		CarVo yourcar = new CarVo("새것","빨강","스포츠카");
		
		System.out.println(mycar);
		System.out.println(yourcar);
		
		if(mycar == yourcar)
			System.out.println("내꺼랑 네꺼랑 같음");
		else
			System.out.println("내꺼랑 네꺼랑 다름?");
		
		/*---------------------------------------------*/
		if(mycar.color == yourcar.color)
			System.out.println("왜");
		else
			System.out.println("?");
		/*---------------------------------------------*/
		String char1 = "가";
		String char2 = "가";
		if(char1 == char2)
			System.out.println("내꺼랑 네꺼랑 같음");
		else
			System.out.println("내꺼랑 네꺼랑 다름?");
		/*---------------------------------------------*/
		String char3 = "나";
		String char4 = new String("나");
		if(char3 == char4)
			System.out.println("내꺼랑 네꺼랑 같을지도");
		else
			System.out.println("전혀아닌데..");
		/*---------------------------------------------*/
		String char7 = "나";
		String char8 = new String("나");
		if(char7.equals(char8))
			System.out.println("내꺼랑 네꺼랑 같을지도");
		else
			System.out.println("전혀아닌데..");
		/*---------------------------------------------*/
		String char5 = new String("다");
		String char6 = new String("다");
		if(char5 == char6)
			System.out.println("같냐");
		if(char5.equals(char6))
			System.out.println("같을꺼 같아");
		}

	}
class CarVo {
	public String status;
	public String color;
	public String type;
	
	public CarVo(){}
	public CarVo(String status, String color, String type ){
		this.status = status;
		this.color = color;
		this.type = type;
	}
	
}